-- 操作的Redis Key
local key = KEYS[1]
-- 笔记id
local noteId = ARGV[1]
-- 时间戳
local timestamp = ARGV[2]

-- 检查ZSET笔记点赞列表是否存在
local isExisted = redis.call('EXISTS', key)
if isExisted == 0 then
    return -1
end

-- 获取笔记点赞列表的大小
local size = redis.call('ZCARD', key)

-- 如果超过100，则移除最早点赞的那篇
if size >= 100 then
    redis.call('ZPOPMIN', key)
end

-- 添加新的笔记点赞
redis.call('ZADD', key, timestamp, noteId)
return 0